import pandas as pd

"""
数据分析第一练：
            探索chipotle快餐数据
"""


def chipotle_data():
    pd.set_option('display.width', 100)
    # 1.导入数据集
    path = '../Pandas_exercises/chipotle.tsv'
    # 2. 将输入存入一个chipo的数据框内
    chipo_data = pd.read_csv(path, sep='\t')  # \t; 控制对齐
    # 3.查看前10行的内容
    print(chipo_data.head(10))
    # 4.查看有多少列
    print('多少列：', chipo_data.shape[1])
    # 5.打印出全部列的名称
    print(chipo_data.columns)
    # 6.数据集的索引是怎么样的
    print('数据集索引', chipo_data.index)
    # 7.被下单数最多的是商品
    # 7.1筛选表中的字段，并按照quantity分组显示，as_index：默认为True是否单独显示，显示quantity的总和
    c = chipo_data[['item_name', 'quantity']].groupby(['item_name'], as_index=False).agg({'quantity': sum})
    # 7.2将上面数据按照quantity排序输出
    c.sort_values(['quantity'], ascending=False, inplace=True)
    print('被下单数最多的商品：', c.head())

    # 8.在item_name这一列中，一共有多少种产品被下单
    print('一共有多少种产品被下单：', chipo_data['item_name'].nunique())
    # 9.在Choice_describe 中下单次数最多的是
    print('在choice_describe中下单次数最多的是：', chipo_data['choice_description'].value_counts().head())
    # 10.一共有多少个商品被下单
    print('一共有多少个商品被下单：', chipo_data['quantity'].sum())
    # 11将item_price转化为浮点数
    print('将item_price转化为浮点数,', chipo_data['item_price'].apply(lambda x: float(x[1:-1])).head())
    # 12在数据集对应的时期内，收入（revenue）是多少
    # chipo_data['sub_total'] = round(chipo_data['item_price'] * chipo_data['quantity'], 2)
    # print('在对应的时期内，收入是：', chipo_data['sub_total'].sum())
    # 13在数据集对应的时期内，一共多少订单
    print('在数据集对应的时期内，一个多少订单',chipo_data['order_id'].nunique())
    # 14每一单order对应的平均总价是多少
    # price = chipo_data[['order_id','sub_total']].groupby(by=['order_id']).agg({'sub_total':'sum'})['sub_total'].mean()
    # print('没一单order对应的平均中价：',price)
    # 15一共有多少种不同的商品被售出
    print('一共有多少种不同的商品被出售：',chipo_data['item_name'].nunique())


chipotle_data()
